package com.hanamaki.generic;

import java.util.Arrays;

/**
 * @author hanamaki
 * @version 1.0
 * @date 2021/6/29 15:23
 */
public class GenericTest {


    // 打印数组的  泛型 方法
    public <T> void printArray(T[] arr) {

        System.out.println(Arrays.toString(arr));

    }

    //    比大小 方法   三数 比大小
    //
    public static<T extends Comparable<T> > T maxMin(T a, T b, T c) {

        T max = a;
        if (b.compareTo(max) > 0) {
            max = b; // b 大
        }
        if (c.compareTo(max) > 0) {
            max = c;
        }

        return max;

    }


    public static void main(String[] args) {
        GenericTest genericTest = new GenericTest();

//         如果 使用的是一个 泛型方法 ，参数要使用 包装类
        genericTest.printArray(new Integer[]{1, 2, 34, 56, 65});
        genericTest.printArray(new String[]{"a", "b", "c"});
        genericTest.printArray(new Double[]{1.1, 2.1, 3.1});


        System.out.println(maxMin(2, 111, 4));
        System.out.println(maxMin("a", "b", "4"));
        System.out.println(maxMin('d', 'b', 'a'));
    }


}
